using System;
using System.Collections.Generic;
using System.Text;

using NHibernate;
using Zwms.Data.Base;
using System.Runtime.Serialization;

namespace Zwms.Data.BusinessObjects
{
    [DataContract]
    public partial class SysWhOperateLog : BusinessBase<string>
    {
        #region Declarations

        private string _logCode = String.Empty;
        private string _logDate = String.Empty;
        private string _logTime = String.Empty;
        private string _operatorCode = String.Empty;
        private string _operatorName = String.Empty;
        private string _operationType = String.Empty;
        private string _billType = String.Empty;
        private string _billCode = String.Empty;
        private string _warehouseCode = String.Empty;
        private string _warehouseName = String.Empty;
        private string _sourceLocation = String.Empty;
        private string _tarGetLocation = String.Empty;
        private string _goodsCode = String.Empty;
        private string _goodsName = String.Empty;
        private int _goodsQty = default(Int32);
        private string _remark = String.Empty;



        #endregion

        #region Constructors

        public SysWhOperateLog() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append(this.GetType().FullName);
            sb.Append(_logCode);
            sb.Append(_logDate);
            sb.Append(_logTime);
            sb.Append(_operatorCode);
            sb.Append(_operatorName);
            sb.Append(_operationType);
            sb.Append(_billType);
            sb.Append(_billCode);
            sb.Append(_warehouseCode);
            sb.Append(_warehouseName);
            sb.Append(_sourceLocation);
            sb.Append(_tarGetLocation);
            sb.Append(_goodsCode);
            sb.Append(_goodsName);
            sb.Append(_goodsQty);
            sb.Append(_remark);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

        //[DataMember]
        //public override string Id
        //{
        //    get
        //    {
        //        System.Text.StringBuilder uniqueId = new System.Text.StringBuilder();
        //        uniqueId.Append(_logCode.ToString());
        //        uniqueId.Append("^");
        //        uniqueId.Append(_logDate.ToString());
        //        return uniqueId.ToString();
        //    }
        //}


        [DataMember]
        public virtual string LogCode
        {
            get { return _logCode.TrimEnd(); }
            set
            {
                OnLogCodeChanging();
                _logCode = value;
                OnLogCodeChanged();
            }
        }
        partial void OnLogCodeChanging();
        partial void OnLogCodeChanged();

        [DataMember]
        public virtual string LogDate
        {
            get { return _logDate.TrimEnd(); }
            set
            {
                OnLogDateChanging();
                _logDate = value;
                OnLogDateChanged();
            }
        }
        partial void OnLogDateChanging();
        partial void OnLogDateChanged();

        [DataMember]
        public virtual string LogTime
        {
            get { return _logTime.TrimEnd(); }
            set
            {
                OnLogTimeChanging();
                _logTime = value;
                OnLogTimeChanged();
            }
        }
        partial void OnLogTimeChanging();
        partial void OnLogTimeChanged();

        [DataMember]
        public virtual string OperatorCode
        {
            get { return _operatorCode.TrimEnd(); }
            set
            {
                OnOperatorCodeChanging();
                _operatorCode = value;
                OnOperatorCodeChanged();
            }
        }
        partial void OnOperatorCodeChanging();
        partial void OnOperatorCodeChanged();

        [DataMember]
        public virtual string OperatorName
        {
            get { return _operatorName.TrimEnd(); }
            set
            {
                OnOperatorNameChanging();
                _operatorName = value;
                OnOperatorNameChanged();
            }
        }
        partial void OnOperatorNameChanging();
        partial void OnOperatorNameChanged();

        [DataMember]
        public virtual string OperationType
        {
            get { return _operationType.TrimEnd(); }
            set
            {
                OnOperationTypeChanging();
                _operationType = value;
                OnOperationTypeChanged();
            }
        }
        partial void OnOperationTypeChanging();
        partial void OnOperationTypeChanged();

        [DataMember]
        public virtual string BillType
        {
            get { return _billType.TrimEnd(); }
            set
            {
                OnBillTypeChanging();
                _billType = value;
                OnBillTypeChanged();
            }
        }
        partial void OnBillTypeChanging();
        partial void OnBillTypeChanged();

        [DataMember]
        public virtual string BillCode
        {
            get { return _billCode.TrimEnd(); }
            set
            {
                OnBillCodeChanging();
                _billCode = value;
                OnBillCodeChanged();
            }
        }
        partial void OnBillCodeChanging();
        partial void OnBillCodeChanged();

        [DataMember]
        public virtual string WarehouseCode
        {
            get { return _warehouseCode.TrimEnd(); }
            set
            {
                OnWarehouseCodeChanging();
                _warehouseCode = value;
                OnWarehouseCodeChanged();
            }
        }
        partial void OnWarehouseCodeChanging();
        partial void OnWarehouseCodeChanged();

        [DataMember]
        public virtual string WarehouseName
        {
            get { return _warehouseName.TrimEnd(); }
            set
            {
                OnWarehouseNameChanging();
                _warehouseName = value;
                OnWarehouseNameChanged();
            }
        }
        partial void OnWarehouseNameChanging();
        partial void OnWarehouseNameChanged();

        [DataMember]
        public virtual string SourceLocation
        {
            get { return _sourceLocation.TrimEnd(); }
            set
            {
                OnSourceLocationChanging();
                _sourceLocation = value;
                OnSourceLocationChanged();
            }
        }
        partial void OnSourceLocationChanging();
        partial void OnSourceLocationChanged();

        [DataMember]
        public virtual string TarGetLocation
        {
            get { return _tarGetLocation.TrimEnd(); }
            set
            {
                OnTarGetLocationChanging();
                _tarGetLocation = value;
                OnTarGetLocationChanged();
            }
        }
        partial void OnTarGetLocationChanging();
        partial void OnTarGetLocationChanged();

        [DataMember]
        public virtual string GoodsCode
        {
            get { return _goodsCode.TrimEnd(); }
            set
            {
                OnGoodsCodeChanging();
                _goodsCode = value;
                OnGoodsCodeChanged();
            }
        }
        partial void OnGoodsCodeChanging();
        partial void OnGoodsCodeChanged();

        [DataMember]
        public virtual string GoodsName
        {
            get { return _goodsName.TrimEnd(); }
            set
            {
                OnGoodsNameChanging();
                _goodsName = value;
                OnGoodsNameChanged();
            }
        }
        partial void OnGoodsNameChanging();
        partial void OnGoodsNameChanged();

        [DataMember]
        public virtual int GoodsQty
        {
            get { return _goodsQty; }
            set
            {
                OnGoodsQtyChanging();
                _goodsQty = value;
                OnGoodsQtyChanged();
            }
        }
        partial void OnGoodsQtyChanging();
        partial void OnGoodsQtyChanged();

        [DataMember]
        public virtual string Remark
        {
            get { return _remark.TrimEnd(); }
            set
            {
                OnRemarkChanging();
                _remark = value;
                OnRemarkChanged();
            }
        }
        partial void OnRemarkChanging();
        partial void OnRemarkChanged();

        #endregion
    }
}